Imports Clo = Enhancements.Core.Logging
Imports Ref = System.Reflection
Imports Sys = System

Namespace Enhancements.Basic.Expressions
    ''' <summary>The exception that is thrown when a string is not a valid identifier.</summary>
    <Serializable(), DebuggerStepThrough()> _
    Public NotInheritable Class IdentifierIsValidNotException
        Inherits IdentifierException

        Private Sub New(ByVal _string As System.String)
            MyBase.New()
            [String] = _string
        End Sub

        Private __String As System.String = Nothing
        ''' <summary>Gets the value of the string that caused this exception.</summary>
        Public Property [String]() As System.String
            Get
                Return __String
            End Get
            Private Set(ByVal _value As System.String)
                __String = _value
            End Set
        End Property

        ''' <summary>Throws an exception.</summary>
        ''' <param name="_string">String that is causing the exception.</param>
        ''' <exception cref="IdentifierIsValidNotException"> </exception>
        Friend Shared Sub ___Throw(ByVal _string As System.String)
            Dim _exception As IdentifierIsValidNotException = New IdentifierIsValidNotException(_string)

            Throw _exception
        End Sub

    End Class
End Namespace
